package nl.uva.science.pico.stacklanguage.types;

abstract public class LabelInstr extends nl.uva.science.pico.stacklanguage.AbstractType {
  public LabelInstr(nl.uva.science.pico.stacklanguage.Factory factory, aterm.ATermList annos, aterm.AFun fun, aterm.ATerm[] args) {
     super(factory, annos, fun, args);
  }

  public boolean isEqual(LabelInstr peer) {
    return super.isEqual(peer);
  }

  public boolean isSortLabelInstr()  {
    return true;
  }

  public boolean isLabelInstr() {
    return false;
  }

  public boolean hasNatCon() {
    return false;
  }

  public boolean hasInstr() {
    return false;
  }

  public int getNatCon() {
     throw new UnsupportedOperationException("This LabelInstr has no NatCon");
  }

  public LabelInstr setNatCon(int _NatCon) {
     throw new IllegalArgumentException("Illegal argument: " + _NatCon);
  }

  public nl.uva.science.pico.stacklanguage.types.Instr getInstr() {
     throw new UnsupportedOperationException("This LabelInstr has no Instr");
  }

  public LabelInstr setInstr(nl.uva.science.pico.stacklanguage.types.Instr _Instr) {
     throw new IllegalArgumentException("Illegal argument: " + _Instr);
  }

}

